from common.unit import AndroidUI
from case.lnitial.lnitial_page import LnitialTest
from object.lnitial.fiest_use import FirstUseObject
import time


#    #com.bluephone/com.bluecart.activity.SplashActivity

# 首次使用流程
class FirstUseTest:
    def __init__(self):
        self.driver = AndroidUI.get_webdriver()
        self.ln = LnitialTest()
        self.use = FirstUseObject()

    # #点击首次使用
    # def first_use(self):
    #     self.lnitial.first_use_button().click()
    #     try:
    #         self.driver.find_element_by_android_uiautomator('new UiSelector().text("点击拉取机型配置信息")')
    #         # self.driver.find_element_by_text("点击拉取机型配置信息")
    #         print("测试点击首次使用成功")
    #         AndroidUI().write_result("点击首次使用测试", "成功")
    #     except:
    #         print("测试点击首次使用失败")
    #         AndroidUI.capture()
    #         AndroidUI().write_result("点击首次使用", "失败")
    #         # self.driver.quit()

    # 输入展厅医院
    def input_hospital(self, name):
        self.ln.first_use()
        try:
            self.use.enter_button().send_keys(name)
            print(f"测试模糊输入‘{name}’成功")
            AndroidUI().write_result(f"测试模糊输入‘{name}’测试", "成功")
        except:
            print(f"测试模糊输入‘{name}’失败")
            AndroidUI.capture()
            AndroidUI().write_result(f"测试模糊输入‘{name}’", "失败")
            # self.driver.quit()

    # 选择展厅医院
    def choice_hospital(self, name):
        try:
            time.sleep(0.5)
            self.use.choise(name).click()
            print(f"选择医院‘{name}’成功")
            AndroidUI().write_result(f"选择医院‘{name}’测试", "成功")
        except:
            print(f"测试选择医院‘{name}’失败")
            AndroidUI.capture()
            AndroidUI().write_result(f"选择医院‘{name}’", "失败")
            # self.driver.quit()

    # 返回首页
    def back_homepage(self):
        try:
            self.use.back_button().click()
            if self.use.first_use_button():
                print("返回首页成功")
                AndroidUI().write_result("返回首页测试", "成功")
            else:
                print("测试返回首页失败")
                AndroidUI.capture()
                AndroidUI().write_result("返回首页", "失败")
        except:
            print("测试选择医院失败")
            AndroidUI.capture()
            AndroidUI().write_result("选择医院", "失败")
            # self.driver.quit()

    # 启动测试
    def start_test(self, easy, complete):
        self.input_hospital(easy)  # 模糊输入
        self.choice_hospital(complete)  # 完全输入
        self.back_homepage()


if __name__ == '__main__':
    l = FirstUseTest()
    # l.input_hospital('展厅医院')
    # l.choice_hospital()
    # l.back_homepage()
    l.start_test('展厅', '展厅医院')
